Apparatus and method to set the signaling rate of a network disposed within an information storage and retrieval system

ABSTRACT

A method is disclosed to set the speed of a network. The method supplies a network interconnected with a system controller and a plurality of switch domains, where each of those plurality of switch domains comprises one or more information storage devices and a switch domain controller, and sets by each of the plurality of switch domains a signaling rate for that switch domain. The method queries in-band by the system controller each of the plurality of switch domains for that switch domain&#39;s signaling rate, and provides in-band by each of the plurality of switch domains the signaling rate for that switch domain. The method provides in-band by the system controller to each of the plurality of switch domains a first speed selection command specifying a first network speed, and resets by each of the plurality of switch domains the signaling rate for that switch domain to the first network speed.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a Continuation Application claiming priority from the application having Ser. No. 10/993,768 filed Nov. 18, 2004.

FIELD OF THE INVENTION

This invention relates to an apparatus and method to set the signaling rate of a network disposed within an information storage and retrieval system.

BACKGROUND OF THE INVENTION

Data storage and retrieval systems are used to store information provided by one or more host computer systems. Such data storage and retrieval systems receive requests to write information to one or more data storage devices, and requests to retrieve information from those one or more data storage devices. Upon receipt of a write request, the system stores information received from a host computer in a data cache. In certain implementations, a copy of that information is also stored in a nonvolatile storage device. Upon receipt of a read request, the system recalls information from the one or more data storage devices and moves that information to the data cache. Thus, the system is continuously moving information to and from a plurality of data storage devices, and to and from the data cache.

In certain embodiments, a plurality of data storage devices are interconnected via a network, where that network comprises a plurality of individual switch domains each of which comprises one or more data storage devices. What is needed is a method to set the signaling rate for that network.

SUMMARY OF THE INVENTION

Applicants' invention comprises an apparatus and method to set the speed of a network. The method supplies a network interconnected with a system controller and a plurality of switch domains, where each of those plurality of switch domains comprises one or more information storage devices and a switch domain controller, and sets by each of the plurality of switch domains a signaling rate for that switch domain. The method queries in-band by the system controller each of the plurality of switch domains for that switch domain's signaling rate, and provides in-band by each of the plurality of switch domains the signaling rate for that switch domain. The method provides in-band by the system controller to each of the plurality of switch domains a first speed selection command specifying a first network speed, and resets by each of the plurality of switch domains the signaling rate for that switch domain to the first network speed.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be better understood from a reading of the following detailed description taken in conjunction with the drawings in which like reference designators are used to designate like elements, and in which:

FIG. 1 is a block diagram showing one embodiment of Applicants' data storage and retrieval system;

FIG. 2 is a block diagram showing a second embodiment of the data storage and retrieval system of FIG. 1 comprising three switch domains, each of which comprises one or more data storage devices;

FIG. 3 is a block diagram showing a third embodiment of the data storage and retrieval system of FIG. 1 comprising six switch domains, each of which comprises one or more data storage devices;

FIG. 4 is a block diagram showing a first switch domain in the data storage and retrieval system of FIG. 3;

FIG. 5 is a block diagram showing a second switch domain in the data storage and retrieval system of FIG. 3;

FIG. 6 is a flow chart summarizing certain steps in Applicants' method;

FIG. 7 is a flow chart summarizing certain steps in Applicants' method;

FIG. 8 is a flow chart summarizing certain steps of Applicants' method;

FIG. 9 is a flow chart summarizing certain steps in Applicants' method; and

FIG. 10 is a flow chart summarizing certain steps in Applicants' method.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

This invention is described in preferred embodiments in the following description with reference to the Figures, in which like numbers represent the same or similar elements. The invention will be described as embodied in an information storage and retrieval system which includes one or more system controllers and one or more Fibre Channel Arbitrated Loop networks interconnecting a plurality of switch domains with the one or more system processors. In certain embodiments, Applicants' information storage and retrieval system comprises two clusters, a plurality of host adapters, a plurality of device adapters, and a data cache. The following description of Applicants' method to initially and subsequently adjust the speed of a network is not meant, however, to limit Applicants' invention to data processing applications, as the invention herein can be applied to setting and adjusting network speeds in general.

Referring now to FIG. 1, information storage and retrieval system 100 is capable of communication with host computer 390 via communication link 395. The illustrated embodiment of FIG. 1 shows a single host computer. In other embodiments, Applicants' information storage and retrieval system is capable of communicating with a plurality of host computers.

Host computer 390 comprises a computer system, such as a mainframe, personal computer, workstation, and combinations thereof, including an operating system such as Windows, AIX, Unix, MVS, LINUX, etc. (Windows is a registered trademark of Microsoft Corporation; AIX is a registered trademark and MVS is a trademark of IBM Corporation; and UNIX is a registered trademark in the United States and other countries licensed exclusively through The Open Group.) In certain embodiments, host computer 390 further includes a storage management program. The storage management program in the host computer 390 may include the functionality of storage management type programs known in the art that manage the transfer of data to a data storage and retrieval system, such as the IBM DFSMS implemented in the IBM MVS operating system.

In certain embodiments, Applicants' information storage and retrieval system 100 includes a first plurality of host adapters 101A which includes adapters 102-105 and 107-110; and a second plurality of host adapters 101B which includes adapters 112-115 and 117-120. In other embodiments, Applicants' information storage and retrieval system includes fewer than 16 host adapters. In still other embodiments, Applicants' information storage and retrieval system includes more than 16 host adapters. Regardless of the number of host adapters disposed in any embodiments of Applicants' system, each of those host adapters comprises a shared resource that has equal access to both central processing/cache elements 130 and 140.

Each host adapter utilizes a host communication protocol such as a Fibre Channel, FICON, ESCON, SCSI, iSCSI, Infiniband, and the like. Each host adapter is connected to both clusters through interconnect bus 121 such that each cluster can handle I/O from any host adapter. Internal buses in each subsystem are connected via a Remote I/O bridge 155/195 between the processor portions 130/140 and I/O portions 160/170, respectively.

Processor portion 130 includes processor 132 and cache 134. In certain embodiments, processor portion 130 further includes memory 133. In certain embodiments, memory device 133 comprises random access memory. In certain embodiments, memory device 133 comprises non-volatile memory.

Processor portion 140 includes processor 142 and cache 144. In certain embodiments, processor portion 140 further includes memory 143. In certain embodiments, memory device 143 comprises random access memory. In certain embodiments, memory device 143 comprises non-volatile memory.

I/O portion 160 comprises a plurality of device adapters 161 which in the illustrated embodiment of FIG. 1 comprises device adapters 165, 166, 167, and 168. I/O portion 160 further comprise nonvolatile storage (“NVS”) 162 and battery backup 164 for NVS 162.

I/O portion 170 comprises a plurality of device adapters 171 which in the illustrated embodiment of FIG. 1 comprises device adapters 175, 176, 177, and 178. I/O portion 170 further comprise nonvolatile storage (“NVS”) 172 and battery backup 174 for NVS 172.

In certain embodiments of Applicants' system, one or more host adapters 101, processor portion 130, one or more device adapters 161, and a switch 207, are disposed in a controller, such as controller 205 a (FIG. 3), disposed in Applicants' information storage and retrieval system. Similarly, in certain embodiments, one or more host adapters 111, processor portion 140, one or more device adapters 171, and a switch are disposed in a second controller, such as controller 205 b (FIG. 3), disposed in Applicants' information storage and retrieval system. In these embodiments, Applicants' system 100 includes two controllers interconnected to a plurality of data storage devices.

In the illustrated embodiment of FIG. 1, sixteen data storage devices are organized into two arrays, namely array 180 and array 190. The illustrated embodiment of FIG. 1 shows two storage device arrays. Each storage array appears to a host computer as one or more logical devices.

In certain embodiments, one or more of the data storage devices comprise a plurality of hard disk drive units. In certain embodiments, arrays 180 and 190 utilize a RAID protocol. In certain embodiments, arrays 180 and 190 comprise what is sometimes called a JBOD array, i.e. “Just a Bunch Of Disks” where the array is not configured according to RAID. In certain embodiments, arrays 180 and 190 comprise what is sometimes called an SBOD array, i.e. “Switched Bunch Of Disks”.

The illustrated embodiment of FIG. 1 shows two storage device arrays. In other embodiments, Applicants' system includes a single storage device array. In yet other embodiments, Applicants' system includes more than two storage device arrays.

Referring now to FIG. 2, a plurality of data storage devices 220, 250, and 280, are interconnected with system controller 205 using three switch domains interconnected by a communication loop comprising communication links 201 a, 201 b, 201 c, 203 c, 203 b, and 203 a. In certain embodiments, the communication loop comprising communication links 201 a, 201 b, 201 c, 203 c, 203 b, and 203 a comprises a Fibre Channel Arbitrated Loop.

Those three switch domains include switch domain 210, switch domain 240, and switch domain 270. Each switch domain includes a switch domain controller comprising a switch and one or more data storage devices interconnected to that controller. Switch domain 210 comprises switch domain controller 230 and one or more data storage devices 220. Switch domain controller 230 comprises processor 232, switch 234, and microcode 236. In certain embodiments, switch 234 comprises a Fibre Channel switch.

Switch domain 240 comprises switch domain controller 260 and one or more data storage devices 250. Switch domain controller 260 comprises processor 262, switch 264, and microcode 266. In certain embodiments, switch 264 comprises a Fibre Channel switch.

Switch domain 270 comprises switch domain controller 290 and one or more data storage devices 280. Switch domain controller 290 comprises processor 292, switch 294, and microcode 296. In certain embodiments, switch 294 comprises a Fibre Channel switch.

The network loop structure shown in FIG. 2 comprises one embodiment of Applicants' system. In other embodiments, communication links 201 a, 201 b, 201 c, 203 c, 203 b, and 203 a comprise a switched fabric or a combination of a switch and loop topologies.

In yet other embodiments, Applicants' information storage and retrieval system comprises two system controllers interconnected with dual FC-AL loops of switches. In the illustrated embodiment of FIG. 3, system controllers 205 a and 205 b are connected to two FC-AL loops. Each loop contains one or more switch domain controllers, such as switch domain controllers 310, 320, 330, 340, 350, and 360.

Each switch domain controller comprises a switch, a processor, and microcode. In certain embodiments, the switch comprises a Fibre Channel switch. In certain embodiments, the processor comprises a SCSI enclosure services (“SES”) processor which, as those skilled in the art will appreciate, provides power control, configuration control, environmental sense as well as other facilities. For example, switch domain controllers 310, 320, 330, 340, 350, and 360, include processors 312, 322, 332, 342, 352, and 362, respectively. Similarly, switch domain controllers 310, 320, 330, 340, 350, and 360, include switches 314, 324, 334, 344, 354, and 364, respectively. In addition, switch domain controllers 310, 320, 330, 340, 350, and 360, include microcode 316, 326, 336, 346, 356, and 366, respectively. The illustrated embodiment of FIG. 3 includes 6 switch domains.

Referring now to FIG. 4, switch domain 400 includes switch domain controller 310 (FIG. 3) and data storage devices 410 and 420. Data storage devices 410 and 420 each comprise two I/O ports. Port 440 of data storage device 410 is interconnected with port 430 of switch domain controller 310. Port 460 of data storage device 420 is interconnected with port 450 of switch domain controller 310.

Referring to FIG. 5, switch domain 500 includes switch domain controller 340 (FIG. 3) and data storage devices 410 and 420. Data storage devices 410 and 420 each comprise two I/O ports. Port 540 of data storage device 410 is interconnected with port 530 of switch domain controller 340. Port 560 of data storage device 420 is interconnected with port 550 of switch domain controller.

In certain embodiments of Applicants' method, each of the two ports disposed on a data storage device must operate at the same signaling rate. For example, switch domain 400 may be capable of operating at a speed of about 4 gigabits per second. Switch domain 500 may be limited to an operating speed of about 2 gigabits per second if, for example, port 540 can support a 2 gigabit per second speed but not a 4 gigabit per second speed, even if all of the other components comprising switch domain 500 are capable of operating at about 4 gigabits per second. If switch domain 400 keeps data storage device 410 on-line and operates at 2 gigabits per second, and if switch domain 500 keeps data storage device 410 on-line, then both switch domains operate at a 2 gigabits per second signaling rate. Alternatively, if switch domain 500 takes data storage device 410 off-line, then both switch domains can operate at a 4 gigabit per second signaling rate.

Applicants' invention includes a method to set a network speed for a network disposed within Applicants' information storage and retrieval system. Referring now to FIG. 8, in step 810 Applicants' method provides an information storage and retrieval system that comprises one or more system controllers, such as system controller 205 (FIG. 2). For example, FIG. 2 shows an embodiment of Applicants' system that comprises one system controller. FIG. 3 shows an embodiment of Applicants' system comprising two system controllers.

Step 810 further comprises supplying one or more switch domains, such as switch domain 210 (FIG. 2), in communication with the one or more system controllers via one or more networks, such as the network comprising communication links 201 a (FIG. 2), 201 b (FIG. 2), 201 c (FIG. 2), 203 a (FIG. 2), 203 b (FIG. 2), and 203 c (FIG. 2).

In step 820, each switch domain sets a signaling rate for that switch domain. For example in the illustrated embodiment of FIG. 2, in step 820 switch domains 210 (FIG. 2), 240 (FIG. 2), and 270 (FIG. 2), each independently sets a switch domain signaling rate. In certain embodiments, step 820 includes the steps recited in FIG. 9.

Referring now to FIG. 9, in step 910 each switch domain, such as switch domains 210 (FIG. 2), 240 (FIG. 2), and 270 (FIG. 2), disconnects from the network leaving only the information storage devices disposed in that switch domain interconnected with the switch disposed in that switch domain. In certain embodiments, step 910 is performed by a processor, such as processor 232 (FIG. 2), disposed in each switch domain, such as switch domain 210. For example, processor 232 in step 820 disables communication links 201 a, 201 b, 203 a, and 203 b.

Applicants' method transitions from step 910 to step 920 wherein each switch domain, such as switch domains 210 (FIG. 2), 240 (FIG. 2), and 270 (FIG. 2), determines the signaling rate capabilities of each information storage device and the switch disposed in that switch domain. In certain embodiments, step 920 is performed by a processor, such as processor 232, disposed in each switch domain, such as switch domain 210.

A pending patent application (the “Incorporated Disclosure”) entitled “Apparatus and Method to Set The Signaling Rate Of A Switch Domain Disposed In An Information Storage and Retrieval System,” and assigned to the common assignee hereof, is hereby incorporated herein by reference. In certain embodiments, Applicants' apparatus comprises the apparatus described in the Specification of the Incorporated Disclosure and shown in FIGS. 5A, 5B, 5C, 6A, 6B, 7A, 7B, 7C, in the Incorporated Disclosure. In certain embodiments, Applicants' method comprises the steps recited in FIGS. 8, 9, 10, and 11, of the Incorporated Disclosure. In certain embodiments, step 920 of this Application comprises the steps shown in FIGS. 8, 9, and 10, of the Incorporated Disclosure.

In step 930, each switch domain, such as switch domains 210 (FIG. 2), 240 (FIG. 2), and 270 (FIG. 2), determines the greatest common signaling rate for the interconnected information storage devices and switch comprising the switch domain. In certain embodiments, step 930 is performed by a processor, such as processor 232, disposed in each switch domain, such as switch domain 210.

In step 940, each switch domain, such as switch domains 210 (FIG. 2), 240 (FIG. 2), and 270 (FIG. 2), sets the greatest common signaling rate for its interconnected information storage devices as the switch domain signaling rate. In certain embodiments, step 940 is performed by a processor, such as processor 232, disposed in each switch domain, such as switch domain 210.

In step 950, each switch domain, such as switch domains 210 (FIG. 2), 240 (FIG. 2), and 270 (FIG. 2), reconnects the switch portion and the processor portion of the switch domain to all interconnected external devices, i.e. reconnects the switch portion and the processor portion to the network. In certain embodiments, step 950 is performed by a processor, such as processor 232, disposed in each switch domain, such as switch domain 210.

Referring again to FIG. 8, in step 830 Applicants' method queries in-band each switch domain to ascertain that switch domain's signaling rate. In certain embodiments, step 830 is performed by a system controller, such as controller 205 (FIG. 2). By “in-band communication,” Applicants mean communicating using the same network used to transmit data files to and from the information storage devices comprising the one or more interconnected switch domains, such as for example the network comprising communication links 201 a, 201 b, 201 c, 203 a, 203 b, and 203 c.

In step 840, in response to the query of step 830 each switch domain, such as switch domains 210 (FIG. 2), 240 (FIG. 2), and 270 (FIG. 2), provides in-band its switch domain signaling rate. In certain embodiments, step 840 is performed by a processor, such as processor 232, disposed in each switch domain, such as switch domain 210.

In step 850, Applicants' method selects a network speed. In certain embodiments, step 850 is performed by a system controller, such as controller 205 (FIG. 2).

In step 860, Applicants' method provides in-band to each interconnected switch domain a speed selection command specifying the network speed. In certain embodiments, step 860 is performed by a system controller, such as controller 205 (FIG. 2).

In step 870, each interconnected switch domain, such as switch domains 210 (FIG. 2), 240 (FIG. 2), and 270 (FIG. 2), sets that switch domain's signaling rate to the network speed. In certain embodiments, step 870 further comprises reconnecting to the network the information storage devices disposed in each switch domain. In certain embodiments, step 870 is performed by a processor, such as processor 232, disposed in each switch domain, such as switch domain 210.

After a network speed has been set using the steps of FIG. 8, and optionally the steps of FIG. 9 of this Application and optionally the steps of FIGS. 8, 9, and 10, of the Incorporated Disclosure, the system controller may adjust the network speed. Referring now to FIG. 10, in step 1010 an interconnected switch domain, communicating in-band, provides alternative signaling rates for that switch domain.

For example, a switch domain, such as switch domain 500 (FIG. 5), comprising (N) interconnected information storage devices may have set its signaling rate to the first communication speed because one of the information storage devices, such as port 540 of information storage device 410, is not capable of operating at the second communication speed. The remaining (N−1) information storage device may be second communication speed capable. This switch domain in step 1010 provides a message to the one or more system controllers to the effect that (N−1) of its interconnected information storage devices are second communication speed capable. In certain embodiments, step 1010 is performed by a processor, such as processor 232, disposed in a switch domain, such as switch domain 210.

In step 1020, Applicants' method determines whether to adjust the network speed. In certain embodiments, step 1020 is performed by a system controller, such as controller 205 (FIGS. 2, 3). In certain embodiments, step 1020 is performed by a network operator. In certain embodiments, step 1020 is performed by a host computer.

If Applicants' method elects not to adjust the network speed, the method transitions to step 1030 wherein the network speed is left unchanged. Alternatively, if the method elects to adjust the network speed in step 1020, then the method transitions from step 1020 to step 1040 wherein the method selects an adjusted network speed. In certain embodiments, step 1020 is performed by a system controller, such as controller 205 (FIGS. 2, 3). In certain embodiments, step 1020 is performed by a network operator. In certain embodiments, step 1020 is performed by a host computer.

In step 1060, Applicants' method provides in-band a speed selection signal to each interconnected switch domain specifying the adjusted network speed. In certain embodiments, step 1020 is performed by a system controller, such as controller 205 (FIGS. 2, 3).

In step 1070, each switch domain sets its switch domain signaling rate to the adjusted network speed. In certain embodiments, step 1070 is performed by a processor, such as processor 232, disposed in each switch domain, such as switch domain 210.

After a network speed has been set, and the network is operating at that network speed, a new switch domain may be added to the system. Applicants' method includes embodiments to add such a new switch domain without disrupting the operation of the network. Referring now to FIG. 6, in step 610 Applicants' method provides a new switch domain, such as for example switch domain 240 (FIG. 2). In step 620, Applicants' method interconnects that new switch domain to the network such that the new switch domain receives network signals from a first switch domain, such as switch domain 210 (FIG. 2), and provides network signals to a second switch domain, such as switch domain 270 (FIG. 2).

In step 630, the new switch domain sets its signaling rate. In certain embodiments, step 630 includes the steps recited in FIG. 9 of this Application, and optionally the steps of FIGS. 8, 9, and 10, of the Incorporated Disclosure. In certain embodiments, step 630 is performed by a processor, such as processor 262, disposed in the new switch domain, such as switch domain 240.

In step 640, the new switch domain determines the network speed by first attempting to communicate with the system controller using the slowest available signaling rate, and if unsuccessful, attempts to communicate at the next faster available signaling rate until reaching the fastest available signaling rate. In certain embodiments, step 640 is performed by a processor, such as processor 262, disposed in the new switch domain, such as switch domain 240.

In step 650, Applicants' method determines if the new switch domain is capable of communicating with the system controller at the network speed. In certain embodiments, step 650 is performed by a processor, such as processor 262, disposed in the new switch domain, such as switch domain 240.

If the new switch is capable of communicating with the system controller, then Applicants' method transitions from step 650 to step 660 wherein the new switch domain communicates, at the network speed, its switch domain signaling rate to the system controller.

If the new switch domain cannot communicate with the system controller at the network speed, then the method transitions from step 650 to step 710 (FIG. 7) wherein the new switch domain attempts to communicate with the system controller at a default signaling rate. In certain embodiments, Applicants' method includes setting a default signaling rate, such as for example 2 gigabits per second. In certain embodiments, step 710 is performed by a processor, such as processor 262, disposed in the new switch domain, such as switch domain 240.

Referring now to FIG. 7, in step 720 Applicants' method determines that the new switch domain cannot communicate in-band with the system controller at the default signaling rate. In certain embodiments, step 720 is performed by the second switch domain, wherein that second switch domain will determine that the new switch domain is attempting to communicate in-band with the system controller at the default signaling rate but the system controller is not responding. In certain embodiments, step 720 is performed by a processor, such as processor 292, disposed in the second switch domain, such as switch domain 270.

If the second switch domain determines in step 720 that the new switch domain cannot communicate with the system controller, then in step 730 that second switch domain provides a message to the system controller that the new switch domain cannot communicate with the system controller at the network speed or the default signaling rate. In certain embodiments, step 730 is performed by a processor, such as processor 292, disposed in the 740, Applicants' method provides an error message to the system operator indicating that the new switch domain cannot communicate with the system controller. In certain embodiments, step 740 is performed by a system controller, such as controller 205 (FIGS. 2, 3). In certain embodiments, step 740 is performed by a host computer.

In response to the error message of step 740, the system operator may elect to adjust the network speed to accommodate the new switch domain. Referring now to FIG. 10, in certain embodiments the system operator in step 1050 provides a command to the system controller to set the network speed to an adjusted network speed. In certain embodiments, step 1050 includes using an operator input station. Applicants' method transitions from step 1050 to step 1060 and continues as described herein.

The embodiments of Applicants' method recited in FIGS. 6, 7, 8, 9, and 10, may be implemented separately. Moreover, in certain embodiments, individual steps recited in FIGS. 6, 7, 8, 9, and 10, may be combined, eliminated, or reordered.

In certain embodiments, Applicants' invention includes instructions residing in microcode, such as for example microcode 207 (FIG. 2), 236 (FIG. 2), 266 (FIG. 2), 296 (FIG. 2), 316 (FIG. 3), 326 (FIG. 3), 336 (FIG. 3), 346 (FIG. 3), 356 (FIG. 3), and/or 366 (FIG. 3), where those instructions are executed by a system processor, such controller 205 (FIG. 2) and/or a switch domain controller, such as controller 230 (FIG. 2), 260 (FIG. 2), 290 (FIG. 2), 310 (FIG. 3), 320 (FIG. 3), 330 (FIG. 3), 340 (FIG. 3), 350 (FIG. 3), and/or 360 (FIG. 3), to perform steps 630, 640, 650, and 660, recited in FIG. 6, and/or steps 710, 720, 730, and/or 740, recited in FIG. 7, and/or steps 820, 830, 840, 850, 860, and/or 870, recited in FIG. 8, and/or steps 910, 920, 930, 940, and/or 950, recited in FIG. 9, and/or steps 1010, 1020, 1030, 1040, 1060, and/or 1070, recited in FIG. 10.

In other embodiments, Applicants' invention includes instructions residing in any other computer program product, where those instructions are executed by a computer external to, or internal to, system 100, to perform steps 630, 640, 650, and 660, recited in FIG. 6, and/or steps 710, 720, 730, and/or 740, recited in FIG. 7, and/or steps 820, 830, 840, 850, 860, and/or 870, recited in FIG. 8, and/or steps 910, 920, 930, 940, and/or 950, recited in FIG. 9, and/or steps 1010, 1020, 1030, 1040, 1060, and/or 1070, recited in FIG. 10. In either case, the instructions may be encoded in an information storage medium comprising, for example, a magnetic information storage medium, an optical information storage medium, an electronic information storage medium, and the like. By “electronic storage media,” Applicants mean, for example, a device such as a PROM, EPROM, EEPROM, Flash PROM, compactflash, smartmedia, and the like.

While the preferred embodiments of the present invention have been illustrated in detail, it should be apparent that modifications and adaptations to those embodiments may occur to one skilled in the art without departing from the scope of the present invention as set forth in the following claims. 

1. A computer program product encoded in an non-transitory information storage medium and usable with a programmable computer switch domain processor to set the speed of a network interconnected with a system controller and a plurality of switch domains, wherein each of said plurality of switch domains comprises a switch domain processor and one or more information storage devices, comprising: computer readable program code which causes said programmable computer processor to set a signaling rate for a switch domain; computer readable program code which causes said programmable computer processor to receive an in-band query from said system controller for that switch domain's signaling rate; computer readable program code which causes said programmable computer processor to disconnect the switch domain from the network; computer readable program code which causes said programmable computer processor to determine main a signaling rate for that switch domain; computer readable program code which causes said programmable computer processor to reconnect the switch domain to the network; computer readable program code which causes said programmable computer processor to provide in-band the signaling rate for that switch domain; computer readable program code which causes said programmable computer processor to receive in-band from said system a first speed selection command specifying a first network speed; computer readable program code which causes said programmable computer processor to reset the signaling rate for the switch domain to said first network speed.
 2. The computer program product of claim 1, wherein said computer readable program code which causes said programmable computer processor to reset the signaling rate to said first network speed further comprises: computer readable program code which causes said programmable computer processor to disconnect the switch domain from the network; computer readable program code which causes said programmable computer processor to set the signaling rate for the switch domain to said first network speed; computer readable program code which causes said programmable computer processor to reconnect the switch domain to the network.
 3. The computer program product of claim 1, further comprising: computer readable program code which causes said programmable computer processor to communicate to said system controller one or more signaling rates for the switch domain; computer readable program code which causes said programmable computer processor to receive in-band from said system controller a second speed selection command specifying a second network speed; computer readable program code which causes said programmable computer processor to reset signaling rate for the switch domain to said second network speed.
 4. The computer program product of claim 3, wherein said computer readable program code which causes said programmable computer processor to reset the signaling rate to said second network speed further comprises: computer readable program code which causes said programmable computer processor to disconnect the switch domain from the network; computer readable program code which causes said programmable computer processor to set the signaling rate for the switch domain to the second network speed; computer readable program code which causes said programmable computer processor to reconnect the switch domain to the network.
 5. The computer program product of claim 1, wherein the information storage and retrieval system comprises a new switch domain comprising a switch domain processor and one or more information storage devices, further comprising: computer readable program code which causes said programmable computer processor to ascertain the signaling rate for that new switch domain; computer readable program code which causes said programmable computer processor to determine by said new switch domain said first network speed; computer readable program code which causes said programmable computer processor to attempt to communicate in-band to said system controller by said new switch domain at said first network speed; computer readable program code which, if the new switch domain is capable of communicating in band with said system controller at said first network speed, causes said programmable computer processor to provide in-band to said system controller the signaling rate for said new switch domain.
 6. The computer program product of claim 5, wherein said computer readable program code which causes said programmable computer processor to ascertain the signaling rate of the new switch domain further comprises: computer readable program code which causes said programmable computer processor to disconnect the new switch domain from the network; computer readable program code which causes said programmable computer processor to determine the signaling rate of said new switch domain; computer readable program code which causes said programmable computer processor to reconnect said new switch domain to said network.
 7. The computer program product of claim 5, further comprising: computer readable program code which causes said programmable computer processor to receive in-band from said system controller a second speed selection command specifying a second network speed; computer readable program code which causes said programmable computer processor to reset the signaling rate for said new switch domain to said second first network speed.
 8. The computer program product of claim 5, wherein said network comprises a Fibre Channel Arbitrated Loop and wherein said new switch domain receives network signals from a first switch domain and provides network signals to a second switch domain, further comprising: computer readable program code which causes said programmable computer processor to determine by said second switch domain that said new switch domain cannot communicate at said first network speed; computer readable program code which causes said programmable computer processor to alert said system controller by said second switch domain that said new switch domain cannot communicate at said first network speed.
 9. The computer program product of claim 8, wherein said network is disposed within an information storage and retrieval system operated by a system operator, further comprising computer readable program code which causes said programmable computer processor to provide an error message to said system operator.
 10. The computer program product of claim 9, further comprising: computer readable program code which causes said programmable computer processor to receive from said operator a command to adjust said network speed; computer readable program code which causes said programmable computer processor to receive in-band a second speed selection command specifying a second network speed; computer readable program code which causes said programmable computer processor to reset the signaling rate for a switch domain to said second network speed.
 11. The computer program product of claim 10, wherein said computer readable program code which causes said programmable computer processor to reset the signaling rate of a switch domain to said second network speed further comprises: computer readable program code which causes said programmable computer processor to disconnect the switch domain from the network; computer readable program code which causes said programmable computer processor to set the signaling rate for the switch domain to the second network speed; computer readable program code which causes said programmable computer processor to reconnect the switch domain to the network.
 12. An article of manufacture comprising an non-transitory information storage medium having computer readable program code encoded therein to set the speed of a network interconnected with a system controller and a plurality of switch domains, wherein each of said plurality of switch domains comprises a switch domain controller and one or more information storage devices, the computer readable program code comprising a series of computer readable program steps to effect: setting a signaling rate for a switch domain; receiving an in-band query from said system controller for that switch domain's signaling rate; disconnecting the switch domain from the network; determining main a signaling rate for that switch domain; reconnecting the switch domain to the network; providing in-band the signaling rate for that switch domain; receiving in-band from said system a first speed selection command specifying a first network speed; resetting the signaling rate for the switch domain to said first network speed.
 13. The article of manufacture of claim 12, wherein said computer readable program code to reset the signaling rate to said first network speed further comprises a series of computer readable program steps to effect: disconnecting the switch domain from the network; setting the signaling rate for the switch domain to said first network speed; reconnecting the switch domain to the network.
 14. The article of manufacture of claim 12, said computer readable program code further comprising a series of computer readable program steps to effect: communicating to said system controller one or more signaling rates for the switch domain; receiving in-band from said system controller a second speed selection command specifying a second network speed; resetting signaling rate for the switch domain to said second network speed.
 15. The article of manufacture of claim 14, wherein said computer readable program code to reset the signaling rate to said second network speed further comprises a series of computer readable program steps to effect: disconnecting the switch domain from the network; setting the signaling rate for the switch domain to the second network speed; reconnecting the switch domain to the network.
 16. The article of manufacture of claim 12, wherein the article of manufacture comprises a new switch domain comprising a switch domain processor and one or more information storage devices, said computer readable program code further comprising a series of computer readable program steps to effect: ascertaining by the new switch domain the signaling rate for that new switch domain; determining by said new switch domain said first network speed; attempting to communicate in-band to said system controller by said new switch domain at said first network speed; operative if the new switch domain is capable of communicating in band with said system controller at said first network speed, providing in-band to said system controller the signaling rate for said new switch domain.
 17. The article of manufacture of claim 16, wherein said computer readable program code to ascertain the signaling rate of the new switch domain further comprises a series of computer readable program steps to effect: disconnecting the new switch domain from the network; determining the signaling rate of said new switch domain; reconnecting said new switch domain to said network.
 18. The article of manufacture of claim 16, said computer readable program code further comprising a series of computer readable program steps to effect: receiving in-band from said system controller a second speed selection command specifying a second network speed; resetting the signaling rate for said new switch domain to said second first network speed.
 19. The article of manufacture of claim 16, wherein said network comprises a Fibre Channel Arbitrated Loop and wherein said new switch domain receives network signals from a first switch domain and provides network signals to a second switch domain, said computer readable program code further comprising a series of computer readable program steps to effect: determining by said second switch domain that said new switch domain cannot communicate at said first network speed; alerting said system controller by said second switch domain that said new switch domain cannot communicate at said first network speed.
 20. The article of manufacture of claim 19, wherein said network is disposed within an information storage and retrieval system operated by a system operator, said computer readable program code further comprising a series of computer readable program steps to effect providing an error message to said system operator.
 21. The article of manufacture of claim 20, said computer readable program code further comprising a series of computer readable program steps to effect: receiving from said operator a command to adjust said network speed; receiving in-band a second speed selection command specifying a second network speed; resetting the signaling rate for a switch domain to said second network speed.
 22. The article of manufacture of claim 21, wherein said computer readable program code resetting the signaling rate of a switch domain to said second network speed further comprising a series of computer readable program steps to effect: disconnecting the switch domain from the network; setting by the signaling rate for the switch domain to the second network speed; reconnecting the switch domain to the network. 